using EOSDigital.SDK;
using System.Collections.Generic;

namespace EOSDigital.API
{
	public sealed class PictureStyleValues : ValueBase
	{
		private static List<CameraValue> values;

		public static CameraValue[] Values
		{
			get
			{
				return PictureStyleValues.values.ToArray();
			}
		}

		static PictureStyleValues()
		{
			PictureStyleValues.values = new List<CameraValue>
			{
				new CameraValue("Standard", 129, 0.0, PropertyID.PictureStyle),
				new CameraValue("Portrait", 130, 0.0, PropertyID.PictureStyle),
				new CameraValue("Landscape", 131, 0.0, PropertyID.PictureStyle),
				new CameraValue("Neutral", 132, 0.0, PropertyID.PictureStyle),
				new CameraValue("Faithful", 133, 0.0, PropertyID.PictureStyle),
				new CameraValue("Monochrome", 134, 0.0, PropertyID.PictureStyle),
				new CameraValue("Auto", 135, 0.0, PropertyID.PictureStyle),
				new CameraValue("Fine Detail", 136, 0.0, PropertyID.PictureStyle),
				new CameraValue("Computer Setting 1", 65, 0.0, PropertyID.PictureStyle),
				new CameraValue("Computer Setting 2", 66, 0.0, PropertyID.PictureStyle),
				new CameraValue("Computer Setting 3", 67, 0.0, PropertyID.PictureStyle),
				new CameraValue("Computer Setting 1", 33, 0.0, PropertyID.PictureStyle),
				new CameraValue("Computer Setting 2", 34, 0.0, PropertyID.PictureStyle),
				new CameraValue("Computer Setting 3", 35, 0.0, PropertyID.PictureStyle),
				new CameraValue("unknown", -1, 0.0, PropertyID.PictureStyle)
			};
		}

		public static CameraValue GetValue(int value)
		{
			return ValueBase.GetValue(value, PictureStyleValues.values);
		}

		public static CameraValue GetValue(string value)
		{
			return ValueBase.GetValue(value, PictureStyleValues.values);
		}

		public static CameraValue GetValue(double value)
		{
			return ValueBase.GetValue(value, PictureStyleValues.values);
		}
	}
}
